<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="../js/cookie.js"></script>
    <script src="../js/ajax.js"></script>
</head>
<body>
    <script>
        // chain 
        // 链式操作 
        // $.ajax({
        //     type:'get',
        //     dataType:"text",
        //     url:"../data/1.txt",
        //     success:res=>{
        //         console.log(res)
        //         str += res;
        //     }
        // })
        // $.ajax({
        //     type:'get',
        //     dataType:"text",
        //     url:"../data/2.txt",
        //     success:res=>{
        //         console.log(res)
        //         str += res;
        //     }
        // })
        // $.ajax({
        //     type:'get',
        //     dataType:"text",
        //     url:"../data/3.txt",
        //     success:res=>{
        //         console.log(res)
        //         str += res;
        //     }
        // })
        // ajax异步函数 意味着同时执行  由于每次执行的事件的不一样  导致最终结果的顺序会错乱 
        // console.log("代码执行的结果: " +str)


       

        function readText(url){
            var p = new Promise(function(resolve){
                $.ajax({
                    type:'get',
                    url:url,
                    dataType:"text",
                    success:res=>{
                        resolve(res); // 返回请求成功结果
                    }
                })
            })
            return p;
        }

        var p  = new Promise(function(resolve,reject){
            setTimeout(()=>{
                reject(1);
            },3000)
        })

        p.then(num=>{
            console.log("fulfilled --- ", num)
            return 2;
        })
        .then(num=>{
            console.log("fulfilled2 --- ", num)
            return 3;
        })
        .then(num=>{
            console.log("fulfilled3 ---",num);
        })
        .catch(err=>{
            console.log("err",err)
        })

        // var str = ""
        // 链式操作  => then 成功 => catch 失败 (捕获前面then方法执行中的错误)
        // readText("../data/1.txt")
        // .then(txt=>{
        //     console.log("resovle --- ",txt)
        //     // hello
        //     str+=txt;
        //     return readText("../data/2.txt")
        // })
        // .then(txt=>{
        //     console.log("resovle --- ",txt)
        //     str+=txt;
        //     return readText("../data/3.txt")
        // })
        // .then(txt=>{
        //     console.log("resovle --- ",txt)
        //     str+=txt;
        //     console.log(str)
        //     // heelo
        // })
        // .catch(err=>{
        //     console.log("reject --- ",err)
        // })

        // LOW
        // readText("../data/1.txt")
        // .then(txt=>{
        //     console.log("resovle ---1 ",txt)
        //     readText("../data/2.txt")
        //     .then(txt=>{
        //         heelo;
        //         console.log("resovle ---2 ",txt)
        //         readText("../data/3.txt")
        //         .then(txt=>{
        //             console.log("resovle ---3 ",txt)
        //         })
        //         .catch(err=>{
        //             console.log("reject --- ",err)
        //         })
        //     })
        //     .catch(err=>{
        //         console.log("reject --- ",err)
        //     })
            
        // })
        // .catch(err=>{
        //     console.log("reject --- ",err)
        // })
    </script>
</body>
</html>

